package com.yfp.client.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yfp.client.domain.Machine;
import com.yfp.client.domain.vo.DeviceInfoVO;
import com.yfp.client.domain.vo.MachineVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Description: 设备Mapper
 *
 * @CreateDate: 2024/5/24 9:49
 * @UpdateUser:
 * @UpdateDate: 2024/5/24 9:49
 * @UpdateRemark: 暂无修改
 * @Version: 1.0
 */
@Mapper
public interface MachineMapper extends BaseMapper<Machine> {
    List<MachineVo> findMachines(@Param("clientId") String clientId,
                                 @Param("latitude") String latitude,
                                 @Param("longitude") String longitude,
                                 @Param("machineName") String machineName,
                                 @Param("machineId") String machineId
    );

    Machine findByMachineId(@Param("machineId") String machineId);

    List<DeviceInfoVO> getByIds(@Param("machineIds") List<String> machineIds);

    /**
     * 查询群二维码
     * @param machineId
     * @return
     */
    String findMarAssociationQrCodeByMachineId(@Param("machineId") String machineId);

    /**
     * 查询设备
     * @param positionIds
     * @return
     */
    List<Machine> findByPositionIdIn(@Param("positionIds") List<String> positionIds);

    /**
     * 获取最近设备的点位id
     * @param latitude
     * @param longitude
     * @return
     */
    MachineVo shortDistancePositionId(@Param("latitude") String latitude, @Param("longitude") String longitude);

    /**
     * 根据id获取设备
     * @param machineId
     * @return
     */
    Machine getById(String machineId);
}
